// Copyright  2012 Petr TALLA. [petr.talla@gmail.com]
//
// This file is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This file is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY;  without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
// [http://www.gnu.org/copyleft/lesser.html]
//=============================================================================
#include "./TcView.h"
#include "./TcObjectRegistry.h"
#include "./TcObserver.h"

using namespace std;

//=============================================================================
TcView::TcView()
{   TcObjectRegistry& r = TcObjectRegistry::registry();

    r.views_.push_back(this);

    std::map<int, TcObject*>::iterator it;
    it = r.objects_.begin();

    for (it = r.objects_.begin(); it != r.objects_.end(); it++ )
    {   append((*it).second);
    }
}

//=============================================================================
void TcView::append(TcObject* object)
{   items.push_back( new TcObserver(object) );
}

//=============================================================================
